package com.example.controller;

import com.example.model.UserInfo;
import com.example.service.UserService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.util.StringUtils;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import jakarta.servlet.http.HttpSession;

/**
 * 用户控制器
 * 处理用户相关的HTTP请求
 */
@RequestMapping("/user")
@RestController
public class UserController {

    @Autowired
    private UserService userService;  // 注入用户服务

    /**
     * 用户登录接口
     * @param name 用户名
     * @param password 密码
     * @param session HTTP会话
     * @return 登录结果
     */
    @RequestMapping("/login")
    public boolean login(String name, String password, HttpSession session) {
        // 参数校验：用户名或密码为空
        if (!StringUtils.hasLength(name) || !StringUtils.hasLength(password)) {
            return false;
        }

        // 根据用户名查询用户信息
        UserInfo userInfo = userService.queryUserByName(name);
        if (userInfo == null) {
            return false;  // 用户不存在
        }

        // 验证密码是否正确
        if (password.equals(userInfo.getPassword())) {
            // 登录成功，将用户信息存入Session
            userInfo.setPassword("");  // 清除密码，不存入Session
            session.setAttribute("session_user_key", userInfo);
            return true;
        }

        // 密码错误
        return false;
    }
}